import axios from 'axios'
import qs from 'qs'

var service = axios.create({
    baseURL: process.env.VUE_APP_API_URL,
    timeout: 10000
})
//添加请求拦截器
service.interceptors.request.use(function (config) {
    // if add token
    config.data = qs.stringify(config.data);
    config.headers = {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    }
    return config
}, function (error) {
    return Promise.reject(error)
})
//添加响应拦截器
service.interceptors.response.use(function (response) {
    /**
     * 下面的注释为通过在response里，自定义code来标示请求状态
     * 当code返回如下情况则说明权限有问题，登出并返回到登录页
     * 如想通过xmlhttprequest来状态码标识 逻辑可写在下面error中
     */
    const res = response.data;
    if(res.code == 10001){
        return Promise.reject('error')
    }else if(res.code == 50001){
        return Promise.reject('error')
    }else{
        // console.log(response);

        return res.data;
    }
}, function (error) {
    console.log('err' + error)
    return Promise.reject(error)
})
export default {
    //get请求
    get(url, param, callback) {
        return service({
            method: 'get',
            url,
            params: param
        }).then(res => {
            if(callback) callback(res);
        }).catch(err => {
            console.log(err, '异常')
        })
    },
    //post请求
    post(url, param, callback) {
        return service({
            method: 'post',
            url,
            data: param,
        }).then(res => {
            if(callback) callback(res);
        }).catch(err => {
            console.log(err, '异常')
        })
    }
}
// export default service
